package cn.lili.modules.payment.service;

import cn.lili.modules.payment.entity.dos.SubMerchantInformation;
import cn.lili.modules.payment.entity.enums.PaymentMethodEnum;
import com.baomidou.mybatisplus.extension.service.IService;


/**
 * 子商户信息
 *
 * @author liushuai(liushuai711 @ gmail.com)
 * @version v4.0
 * @Description:
 * @since 2023/3/28 14:33
 */

public interface SubMerchantInformationService extends IService<SubMerchantInformation> {


    /**
     * 根据支付方式获取对应子商户号信息
     *
     * @param paymentMethod 支付方式
     * @return 商户号码
     */
    SubMerchantInformation getSubMerchantInformation(PaymentMethodEnum paymentMethod);

    /**
     * 根据用户id和支付方式获取对应子商户号信息
     *
     * @param userId        用户id
     * @param paymentMethod 支付方式
     * @return 商户号码
     */
    SubMerchantInformation getSubMerchantInformationByUserId(String userId, PaymentMethodEnum paymentMethod);

    /**
     * 根据支付方式设置对应子商户号信息
     *
     * @param paymentMethod 支付方式
     * @param subMerchantId 子商户号
     * @return 商户号码
     */
    SubMerchantInformation setSubMerchantId(PaymentMethodEnum paymentMethod, String subMerchantId);

    /**
     * 根据用户id和支付方式设置对应子商户号信息
     *
     * @param userId        用户id
     * @param paymentMethod 支付方式
     * @param subMerchantId 子商户号
     * @return 商户号码
     */
    SubMerchantInformation setSubMerchantIdByUserId(String userId, PaymentMethodEnum paymentMethod, String subMerchantId);
}